<?php
#
#
# Copyright TEDECO, 2009. http://tedeco.fi.upm.es
#
# This file is part of kumenya.
#
# Kumenya is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Kumenya is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
#
#
#
?>
<?php
	include("../commons/classes.php");
	include("../commons/www.php");
	include(Action . "IncomesExpensesBalanceResult.php");

	Interfaz::Header(_("Incomes and Expenses") . " " . _("Result"));

	Interfaz::OpenBody(FALSE);

if ($result) {
	if ($openFile)
		Interfaz::OpenFile($link);

	Interfaz::Buttons ();
	Interfaz::Form (Page. "IncomesExpensesBalanceResults.php");
	Interfaz::NavigationButton (_("Back"), Page. "IncomesExpensesBalanceCriterias.php", "Back");

	Interfaz::FileType('Excel');
	Interfaz::SubmitButton(_("Print"));

	Interfaz::CloseButtons ();
	Interfaz::Send(Interfaz::Data());
	Interfaz::CloseForm ();
	
	Interfaz::Form (Page. "IncomesExpensesBalanceCriterias.php", "Back");
	Interfaz::Send (Interfaz::RecordedData());
	Interfaz::CloseForm ();

	Interfaz::TrialBalanceHeader ($header,$headerDetails);

	$accumulatedDebt = 0;
	$accumulatedCredit = 0;
	$accumulatedDebtBalance = 0;
	$accumulatedCreditBalance = 0;

	// DESCRIBE INCOMES
	foreach ($balanceSheetAccountIncomes as $account => $accountData) {
		if (isset($AccountsBalance))
			Interfaz::RowTrialBalance($accountData,$accountIncomesDetails[$account], FALSE, 
				$accumulatedDebt, $accumulatedCredit, $accumulatedDebtBalance, $accumulatedCreditBalance);
		if (isset($SubaccountBalances) && isset($balanceSheetSubAccountIncomes[$account]))
			foreach ($balanceSheetSubAccountIncomes[$account] as $subaccount => $subaccountData) {
				Interfaz::RowTrialBalance($subaccountData, $subAccountIncomesDetails[$subaccount], FALSE, 
					$accumulatedDebt, $accumulatedCredit, $accumulatedDebtBalance, $accumulatedCreditBalance);
			}
	}
	$accumulatedIncomesDebt = $accumulatedDebt;
	$accumulatedIncomesCredit = $accumulatedCredit;
	$accumulatedIncomesDebtBalance = $accumulatedDebtBalance;
	$accumulatedIncomesCreditBalance = $accumulatedCreditBalance;

	Interfaz::ClosingIncomeExpensesBalance ($accumulatedIncomesDebt, $accumulatedIncomesCredit, $accumulatedIncomesDebtBalance, 
		$accumulatedIncomesCreditBalance, Income, FALSE);

	// DESCRIBE EXPENSES
	foreach ($balanceSheetAccountExpenses as $account => $accountData) {
		if (isset($AccountsBalance))
			Interfaz::RowTrialBalance($accountData,$accountExpensesDetails[$account], FALSE, 
				$accumulatedDebt, $accumulatedCredit, $accumulatedDebtBalance, $accumulatedCreditBalance);
		if (isset($SubaccountBalances) && isset($balanceSheetSubAccountExpenses[$account]))
			foreach ($balanceSheetSubAccountExpenses[$account] as $subaccount => $subaccountData) {
				Interfaz::RowTrialBalance($subaccountData, $subAccountExpensesDetails[$subaccount], FALSE, 
					$accumulatedDebt, $accumulatedCredit, $accumulatedDebtBalance, $accumulatedCreditBalance);
			}
	}

	$accumulatedExpensesDebt = $accumulatedDebt - $accumulatedIncomesDebt;
	$accumulatedExpensesCredit = $accumulatedCredit - $accumulatedIncomesCredit;
	$accumulatedExpensesDebtBalance = $accumulatedDebtBalance - $accumulatedIncomesDebtBalance;
	$accumulatedExpensesCreditBalance = $accumulatedCreditBalance - $accumulatedIncomesCreditBalance;

	Interfaz::ClosingIncomeExpensesBalance ($accumulatedExpensesDebt, $accumulatedExpensesCredit, 
		$accumulatedExpensesDebtBalance, $accumulatedExpensesCreditBalance, Expenses, FALSE);

	$totalBalanceSaldoDebe = $accumulatedExpensesDebtBalance + $accumulatedIncomesDebtBalance;
	$totalBalanceSaldoHaber = $accumulatedExpensesCreditBalance + $accumulatedIncomesCreditBalance;

	Interfaz::IncomesExpensesTotalBalance($totalBalanceSaldoDebe, $totalBalanceSaldoHaber);

}
else {
	Interfaz::Form (Page. "IncomesExpensesBalanceCriterias.php", "Back");
	Interfaz::Buttons ();
	Interfaz::Send (Interfaz::RecordedData());
	Interfaz::SubmitButton(_("Back"));
	Interfaz::CloseForm ();
	Interfaz::CloseButtons ();

	$error = Interfaz::Error();	
	echo _("THERE IS AN ERROR") . ": " . _($error);

}
	Interfaz::End();
?>